package com.czl.module_base.mvp.view;

import android.content.Context;

import com.czl.module_base.http.HttpResponse;


/**
 * @author xubin
 * @date on 2018/9/14  11:18
 */
public interface IView {

    /**
     * dialog加载中
     *
     * @param title
     */
    void showDialogLoading(String title);

    /**
     * 显示加载
     */
    void showLoading();

    /**
     * 隐藏加载
     */
    void hideDialogLoading();

    /**
     * 加载成功
     */
    void showLoadSuccess();

    /**
     * 数据为空
     */
    void showEmpty();

    /**
     * 请求结果
     *
     * @param t
     * @param <T>
     */
    <T> void showData(T t);

    /**
     * 请求结果
     *
     * @param httpResponse
     * @param <T>
     */
    <T> void showHttpResponse(HttpResponse<T> httpResponse);

    /**
     * 显示错误
     *
     * @param error
     */
    void showError(String error);

    /**
     * 未知错误
     *
     * @param msg
     * @param drawable
     */
    void showUnKnowError(String msg, int drawable);

    /**
     * 获取上下文对象
     *
     * @return
     */
    Context getContext();

}
